package model.bean;

import it.mrcrack.exception.DataFormatException;

import java.io.Serializable;
import java.util.GregorianCalendar;

public class MancatoFunzionamento implements Serializable {
	public MancatoFunzionamento() {
		super();
		durata = -1;
	}
	public GregorianCalendar getOra() {
		return (ora==null ? null : (GregorianCalendar)ora.clone());
	}
	public void setOra(GregorianCalendar ora) throws DataFormatException {
		if(ora==null)
			throw new DataFormatException("L'ora del mancato funzionamento non puo' essere null");
		this.ora = (GregorianCalendar)ora.clone();
	}
	public long getDurata() {
		return durata;
	}
	public void setDurata(long durata) throws DataFormatException {
		if(durata<1)
			throw new DataFormatException("La durata del mancato funzionamento non puo' essere minore di 1");
		this.durata = durata;
	}
	public String getErrore() {
		return (errore==null ? null : errore);
	}
	public void setErrore(String errore) throws DataFormatException {
		if(errore==null)
			throw new DataFormatException("L'errore del mancato funzionamento non puo' essere minore di 0");
		this.errore = errore;
	}
	/**
	 * 
	 * @return true se il mancato funzionamento e' stato totalmente settato, false altrimenti
	 */
	public boolean impostato(){
		boolean flag=true;
		if(ora==null || durata==-1 || errore==null)
			flag=false;
		return flag;
	}
	private GregorianCalendar ora;
	private long durata;
	private String errore;
	private static final long serialVersionUID = 3817387812814660007L;
}